fopen()
, fclose()
, fread()
, fwrite()
, fprintf()
সি প্রোগ্রামিংয়ে ফাইল ইনপুট এবং আউটপুট (I/O) অপারেশন পরিচালনা করতে stdio.h
হেডার ফাইলটি ব্যবহৃত হয়। এই হেডার ফাইলের মাধ্যমে প্রোগ্রামাররা ফাইল থেকে ডেটা পড়তে, ফাইলে ডেটা লিখতে এবং ফাইল খোলার বা বন্ধ করার কাজ করতে পারেন। সি ভাষায় ফাইল পরিচালনার জন্য কিছু গুরুত্বপূর্ণ ফাংশন রয়েছে, যেমন fopen()
, fclose()
, fread()
, fwrite()
, এবং **fprintf()
**।
এখানে এই ফাংশনগুলোর বিস্তারিত আলোচনা করা হলো:
fopen()
– ফাইল খোলাfopen()
ফাংশনটি একটি ফাইল খোলার জন্য ব্যবহৃত হয়। এটি একটি ফাইল পয়েন্টার রিটার্ন করে, যা ফাইলের সাথে সম্পর্কিত অপারেশন করতে ব্যবহৃত হয়। ফাইলটি নির্দিষ্ট মোডে খোলা হয়, যেমন r
(পড়ার জন্য), w
(লেখার জন্য), a
(অ্যাপেন্ড), ইত্যাদি।
FILE *fopen(const char *filename, const char *mode);
ফাইল মোড:
"r"
– শুধুমাত্র পড়ার জন্য।"w"
– লেখার জন্য (ফাইলটি যদি থাকে তবে মুছে দেয়)।"a"
– অ্যাপেন্ড (ফাইলের শেষে লেখার জন্য)।"rb"
, "wb"
, "ab"
– বাইনারি মোডে কাজ করার জন্য।#include <stdio.h>
int main() {
FILE *file = fopen("example.txt", "w"); // ফাইল লেখার জন্য খোলা
if (file == NULL) {
printf("File not opened.\n");
return 1;
}
fprintf(file, "Hello, World!\n"); // ফাইলে লেখা
fclose(file); // ফাইল বন্ধ
return 0;
}
fclose()
– ফাইল বন্ধ করাfclose()
ফাংশনটি একটি খোলা ফাইল বন্ধ করার জন্য ব্যবহৃত হয়। এটি ফাইলের সাথে সম্পর্কিত সমস্ত রিসোর্স মুক্ত করে এবং ফাইল পয়েন্টারটি অবৈধ করে দেয়।
int fclose(FILE *file_pointer);
#include <stdio.h>
int main() {
FILE *file = fopen("example.txt", "w");
if (file != NULL) {
fprintf(file, "Hello, World!\n");
fclose(file); // ফাইল বন্ধ
}
return 0;
}
fread()
– ফাইল থেকে ডেটা পড়াfread()
ফাংশনটি একটি ফাইল থেকে নির্দিষ্ট পরিমাণ ডেটা পড়তে ব্যবহৃত হয়। এটি বাইনারি ফাইল থেকে ডেটা পড়তে সবচেয়ে বেশি ব্যবহৃত হয়।
size_t fread(void *ptr, size_t size, size_t count, FILE *file_pointer);
ptr
– যেখানে ডেটা স্টোর হবে (বাফার)।size
– প্রতি এলিমেন্টের আকার।count
– মোট এলিমেন্টের সংখ্যা।file_pointer
– ফাইল পয়েন্টার।#include <stdio.h>
int main() {
FILE *file = fopen("example.bin", "rb"); // বাইনারি ফাইল খোলা
if (file == NULL) {
printf("File not found.\n");
return 1;
}
int buffer[10];
fread(buffer, sizeof(int), 10, file); // ফাইল থেকে 10টি ইন্ট পড়া
fclose(file);
for (int i = 0; i < 10; i++) {
printf("%d ", buffer[i]);
}
return 0;
}
fwrite()
– ফাইলে ডেটা লেখাfwrite()
ফাংশনটি ফাইলে ডেটা লেখার জন্য ব্যবহৃত হয়। এটি বাইনারি ফাইলের জন্য সবচেয়ে বেশি ব্যবহৃত হয়।
size_t fwrite(const void *ptr, size_t size, size_t count, FILE *file_pointer);
ptr
– যেখান থেকে ডেটা লেখা হবে।size
– প্রতি এলিমেন্টের আকার।count
– মোট এলিমেন্টের সংখ্যা।file_pointer
– ফাইল পয়েন্টার।#include <stdio.h>
int main() {
FILE *file = fopen("example.bin", "wb"); // বাইনারি ফাইল খোলা
if (file == NULL) {
printf("File not opened.\n");
return 1;
}
int data[] = {1, 2, 3, 4, 5};
fwrite(data, sizeof(int), 5, file); // ফাইলে 5টি ইন্ট লেখা
fclose(file);
return 0;
}
fprintf()
– ফাইলের মাধ্যমে ফরম্যাটেড আউটপুটfprintf()
ফাংশনটি ফাইলের মধ্যে ফরম্যাটেড আউটপুট লেখার জন্য ব্যবহৃত হয়। এটি printf()
এর মতো, তবে আউটপুট কনসোলের পরিবর্তে ফাইলে লেখা হয়।
int fprintf(FILE *file_pointer, const char *format, ...);
#include <stdio.h>
int main() {
FILE *file = fopen("example.txt", "w"); // ফাইল লেখার জন্য খোলা
if (file == NULL) {
printf("File not opened.\n");
return 1;
}
fprintf(file, "Name: %s\nAge: %d\n", "John Doe", 30); // ফাইলে ফরম্যাটেড আউটপুট লেখা
fclose(file);
return 0;
}
ফাংশন | কাজ | ব্যবহারের ধরন |
---|---|---|
fopen() | ফাইল খোলা | FILE *file = fopen("filename", "mode"); |
fclose() | ফাইল বন্ধ করা | fclose(file); |
fread() | ফাইল থেকে ডেটা পড়া | fread(buffer, size, count, file); |
fwrite() | ফাইলে ডেটা লেখা | fwrite(buffer, size, count, file); |
fprintf() | ফাইলের মাধ্যমে ফরম্যাটেড আউটপুট লেখা | fprintf(file, "format", ...); |
এই ফাংশনগুলোর মাধ্যমে সি প্রোগ্রামে ফাইল থেকে ইনপুট/আউটপুট সহজে পরিচালনা করা যায়। ফাইল ম্যানিপুলেশনের জন্য সঠিক ফাইল মোড এবং সঠিক ফাংশন ব্যবহার করা গুরুত্বপূর্ণ।
common.read_more